package com.itheima.day13.第一题;

import java.io.*;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
在当前模块目录下，有一个“maths.txt”文件（直接准备好即可），其中的文本内容如下：

5+5
10-5
2*3
20/4
...
每行一个算术表达式，每个式子都是使用加减乘除符号连接的两个数字，没有其他数据。

请编写程序将每个式子的结果计算出来，再写回这个文件中。程序执行后，文件中的内容为：

5+5=10
10-5=5
2*3=6
20/4=5
*/
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //创建字符缓冲流
        BufferedReader br = new BufferedReader(new FileReader("homework\\maths.txt"));

        //定义字符串集合,临时存储运算结果的字符串
        ArrayList<String> result = new ArrayList<>();

        //定义临时量
        String temp;

        //遍历读写
        while ((temp = br.readLine()) != null) {
            int operation = Operation(temp);
            String s = temp + "=" + operation;
            result.add(s);
        }
        //关闭输入流
        br.close();

        //创建输出流对象
        BufferedWriter bw = new BufferedWriter(new FileWriter("homework\\maths.txt"));
        //遍历集合,写入数据
        for (String s : result) {
            bw.write(s);
            bw.newLine();
        }
        //关闭输出流
        bw.close();


    }

    private static int Operation(String str) {
       String[] oper = {"\\+","-","\\*","/"} ;
        String[] splits;
        for (int i = 0; i < oper.length ; i++) {
             splits = str.split(oper[i]);
             if (splits.length == 2){
                 int num1 = Integer.parseInt(splits[0]);
                 int num2 = Integer.parseInt(splits[1]);
                 switch (i){
                     case 0:
                         return num1 + num2;
                     case 1:
                         return num1 - num2;
                     case 2:
                         return num1 * num2;
                     case 3:
                         return num1 / num2;
                 }
             }
        }

        return -1;
    }


}
